<template>
  <div>
    <!-- 各级分类选择 -->
    <CategorySelector :disabled="isShow" />
    <!-- 添加属性 -->
    <!-- 属性绑定数据不能使用驼峰命名法，有大写时必须使用连字符 -->
    <SaveAttr
      v-if="isShow"
      :edit-attr="editAttr"
      @showSaveAttr="isShow = $event"
    />
    <!-- 属性列表 -->
    <AttrList
      v-else
      @showSaveAttr="isShow = $event"
      @editAttr="editAttr = $event"
    />
  </div>
</template>

<script>
import { mapMutations } from 'vuex'
import AttrList from './components/attrList'
import SaveAttr from './components/saveAttr'

export default {
  name: 'Attr',
  components: {
    AttrList,
    SaveAttr
  },
  data() {
    return {
      // 是否展示属性添加组件
      isShow: false,
      // 修改属性时需要传递的数据
      editAttr: {
        // 属性名
        attrName: '',
        // 增加的属性列表
        attrValueList: []
      }
    }
  },
  methods: {
    // 由属性列表点击按钮与否决定是否展示属性添加
    // showSaveAttr(isShow) {
    //   this.isShow = isShow
    // }
    ...mapMutations('category', ['CLEAR_VUEX'])
  },
  beforeDestroy() {
    this.CLEAR_VUEX()
  }
}
</script>

<style lang="scss" scoped></style>
